/* 
 * File:   NombreSimple.h
 * Author: Gab'z
 *
 * Created on 1 mai 2012, 19:46
 */

#ifndef NOMBRESIMPLE_H
#define	NOMBRESIMPLE_H

#include "Nombre.h"

class NombreSimple : public Nombre {
public:

    virtual ~NombreSimple();
    virtual NombreSimple* clone() const = 0;
    virtual std::string toString() const = 0;
    virtual double value() const = 0;

    operator double() const {
        return value();
    }
};
NombreSimple* add(const NombreSimple* c1, const NombreSimple* c2);
NombreSimple* sub(const NombreSimple* c1, const NombreSimple* c2);
NombreSimple* mul(const NombreSimple* c1, const NombreSimple* c2);
NombreSimple* div(const NombreSimple* c1, const NombreSimple* c2);

#endif	/* NOMBRESIMPLE_H */

